From: Carlos Garnacho Date: Fri, 21 Nov 2025 13:46:03 +0000 (+0100) Subject: screenShield: Emit ::screen-lock-shown early with animated fades X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~44^2~86 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7f84efb1edd652e55441c48af14d19d7d6b15b4e;p=gnome-shell.git screenShield: Emit ::screen-lock-shown early with animated fades If the screen is locked with animatedFade parameter enabled, the screenShield currently defers the emission of this signal until the lightbox toggles on. However the lightbox might be prevented from ever doing that by later input. If this emission is delayed enough, it will result in ShellDBus missing the D-Bus timeout for replying to the Lock request, since it does rely on this signal being emitted in order to reply back. It does however make sense to keep setting the active state after the animation, so the inhibitors are synchronized at the point the lightbox kicks in. Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/8644 Part-of: --- diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index a99bd58b9..2e3b33197 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -340,7 +340,7 @@ export class ScreenShield extends Signals.EventEmitter { _onShortLightbox(lightBox) { if (lightBox.active) - this._completeLockScreenShown(); + this._setActive(true); } showDialog() { @@ -514,12 +514,9 @@ export class ScreenShield extends Signals.EventEmitter { if (params.fadeToBlack) this._activateFade(this._shortLightbox, 0); - this._completeLockScreenShown(); + this._setActive(true); } - } - _completeLockScreenShown() { - this._setActive(true); this.emit('lock-screen-shown'); }